/*
根据接口文档定义接口请求
* 包含应用中所有接口请求函数的模块
* 每个函数的返回值都是promise
* */
import ajax from './ajax'
import jsopn from  'jsonp'
import {message} from "antd";
//
// const BASE1 = 'http://localhost:8080'
const BASE = ''
//登录接口
// export function reqLogin(username,password) {
//    return  ajax('/login',{username,password},'POST')
// }
export const reqLogin = (username,password) => ajax(BASE+'/users/login',{username,password},'POST')

//添加用户
export  const reqAddUser = (user) => ajax(BASE+'/manage/user/add',user,'POST')

//动态菜单栏
export const dynamicMenu = () => ajax(BASE+'/users/dynamicMenu',{},'GET')

//jspon请求的接口请求函数
export const reqWeather = (city) =>{

    return new Promise((resolve ,reject)=>{
        const url = `http://api.map.baidu.com/telematics/v3/weather?location=${city}&output=json&ak=3p49MVra6urFRGOT9s8UBWr2`
        //发生jsonp请求
        jsopn(url,{},(err,data)=>{
            console.log('jsonp()',err,data)
            //如果成功了
            if(!err&&data.status === 'success'){
                //取出需要的数据
                const {dayPictureUrl,weather} =  data.results[0].weather_data[0]
                resolve({dayPictureUrl,weather})
            }else{
                message.error('获取天气信息失败！')
            }
        })
    })


}
reqWeather('北京')

/**
 * jsonp解决ajax跨域的原理
 * 1.jsonp只能解决GET类型的ajax请求跨域问题
 * 2、jsonp请求不是ajax请求，而是一般get请求
 * 3、基本原理
 * 浏览器端：动态生成《script》来请求后台（src就是接口的url）
 * 定义好用于接收响应数据的函数（fn），并将函数名通过请求参数提交给后台（如：callback=fn）
 * 服务器端：
 *      接收到请求处理产生结果数据后，返回一个函数调用的js代码，并将结果数据作为实参传入函数调用
 * 浏览器端：收到响应自动执行函数调用的js代码，也就是执行了提前定义好的回调函数，并得到了需要的结果数据
 */

//获取一级/二级分类的列表
export  const  reqCategory = (id) => ajax(BASE+`/users/userById/`+id,{id})

export  const  reqCategoryAll = (deleted) => ajax(BASE+`/users/userAll/`+deleted,{deleted})
//添加分类
export  const  reqAddCategory = (username,password,perms) => ajax(BASE+`/users/addUser`,{username,password,perms},'POST')
//更新分类
export  const  reqUpdateCategorys= ({username,id}) => ajax(BASE+`/users/updateUsers`,{username,id},'POST')

//商品分页列表
export const reqProducts = (pageNum,pageSize,searchName) => ajax(BASE+'/product/pageProduct',{pageNum,pageSize,searchName},'GET')

//更新商品的状态（上架/下架）
export const reqUpdateStatus = (id,status) => ajax(BASE+'/product/updateState',{id,status},'POST')

// 删除指定名称的图片
export const reqDeleteImg = (str) => ajax('http://localhost:8080' + '/product/uploading/deFile', {str}, 'POST')


export const reqUpdateCategory = ({categoryId, categoryName}) => ajax(BASE + '/product/updateState', {categoryId, categoryName}, 'POST')


export const reqRoles = () =>ajax(BASE+'roles/role')